Skip to content

Conversation

@VinsMach
Copy link
Collaborator

Descrizione

le modifiche fatte consentono di far funzionare il tema anche su versioni antecedenti alla 8.
Modificate alcune funzioni
Aggiunta una funziona prima che sia deprecata l'originale

inc/actions.php Outdated
function dsi_schede_progetti_filters( WP_Query $query ) {

if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object()?->taxonomy ?? null) == "tipologia-progetto") ) {
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object() && isset(get_queried_object()->taxonomy) && get_queried_object()->taxonomy == "tipologia-progetto")) ) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Segnalo che WP ha anche una funzione is_tax(), che è più compatta e "idiomatica" e svolge già tutti i controlli su get_queried_object().

Suggested change
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || (get_queried_object() && isset(get_queried_object()->taxonomy) && get_queried_object()->taxonomy == "tipologia-progetto")) ) {
if ( ! is_admin() && $query->is_main_query() && (is_post_type_archive("scheda_progetto") || is_tax("tipologia-progetto")) ) {

[v. #691]

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qui si è modificata la linea precedente, in quanto la versione presente andava in conflitto con versioni di PHP precedenti all'8.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sì, infatti: è l'operatore nullsafe ?->, che non è supportato.
Ma di tutta la sequenza delle verifiche su get_queried_object->taxonomy credo che se ne potrebbe fare a meno, perché quello è proprio il mestiere di is_tax().


// If 'with_front' is true, dd $wp_rewrite->front to the trail.
if ( $taxonomy->rewrite['with_front'] && $wp_rewrite->front )
if ( array_key_exists('with_front', $taxonomy->rewrite) && $taxonomy->rewrite['with_front'] && $wp_rewrite->front )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se deve essere controllata l'esistenza, perché non semplicemente ! empty()?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ci potrebbero essere dei casi in cui with_font non era valorizzata, ecco perche questo check in più

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sì; intendevo che ! empty($taxonomy->rewrite['with_front']) ha lo stesso effetto ed è più leggibile e conciso.

@zetareticoli zetareticoli self-requested a review December 17, 2024 14:24
Copy link
Member

@zetareticoli zetareticoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cosa intendi con versioni antecedenti alla 8, PHP?

@VinsMach
Copy link
Collaborator Author

7.3 e 7.4

foreach ( $post_types as $type ) {

if ( $slug === $type->has_archive || ( true === $type->has_archive && $slug === $type->rewrite['slug'] ) )
if ( $slug === $type->has_archive || ( true === $type->has_archive && is_array($type->rewrite) && isset($type->rewrite['slug']) && $slug === $type->rewrite['slug']))
Copy link
Contributor

@enrimk enrimk Dec 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non è un'eventualità piuttosto remota?
Cioè, mi pare che rewrite['slug'] qui possa risultare non definito solo nel caso di un post_type con has_archive === true e rewrite === false contemporaneamente (con archivio, ma senza permalink). È così? È un caso che si verifica nell'app?

@astagi astagi merged commit 4104890 into italia:main Jan 28, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Aggiornamento Template 2.12 Si è verificato un errore critico sul tuo sito web.

4 participants